home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 11 / Cream of the Crop 11-2.iso / bbs / mxl214b.zip / TEMPLATE.DOC < prev    next >
Text File  |  1996-01-01  |  37KB  |  951 lines

  1.  
  2.         ▀▀▀   ▀▀▀   ▀▀▀▀▀   ▀▀   ▀▀  ▀▀       ▀▀▀▀▀▀   ▀▀▀▀▀   ▀▀▀▀▀▀▀▀
  3.         ▀▀▀▀ ▀▀▀▀  ▀▀   ▀▀   ▀▀ ▀▀   ▀▀         ▀▀    ▀▀          ▀▀
  4.         ▀▀ ▀▀▀ ▀▀  ▀▀▀▀▀▀▀    ▀▀▀    ▀▀         ▀▀     ▀▀▀▀▀      ▀▀
  5.         ▀▀  ▀  ▀▀  ▀▀   ▀▀   ▀▀ ▀▀   ▀▀         ▀▀         ▀▀     ▀▀
  6.         ▀▀     ▀▀  ▀▀   ▀▀  ▀▀   ▀▀  ▀▀▀▀▀▀▀  ▀▀▀▀▀▀  ▀▀▀▀▀▀      ▀▀
  7.  
  8.          Multifunctional filebase processor for Maximus CBCS systems,
  9.                   multi line aware and template controlled
  10.  
  11.                                Version  2.14
  12.  
  13.                  Copyright 1994 - 1995 by Wilfried Brinkmann
  14.  
  15.                            All rights reserved
  16.  
  17.  
  18.            ───────────────────────────────────────────────────────
  19.             Documentation and Overview of MaxList Template-Tokens
  20.            ═══════════════════════════════════════════════════════
  21.  
  22.     MaxList uses templates for ALL output in file lists and FILES.BBS files.
  23.     They contain the information how to format the header and the single
  24.     lines.
  25.  
  26.  
  27.                           Common Information
  28.                          ────────────────────
  29.  
  30.     There is no limit in the length of a line for template files as well as 
  31.     for file descriptions. A template or one file description may be maximum
  32.     8 kB in total. If this value is exceeded, they will be trucated SILENTLY
  33.     to a length of 8192 characters!
  34.     The internal buffer of course is not limited to 8 kB, in order to be able
  35.     to perform reformatting.
  36.  
  37.     As it is likely that a large amount of tokens may occur on one line, the
  38.     text will soon get unreadable or unprocessable if you write all in one
  39.     line.
  40.     
  41.     Therefore it is possible to insert a continuation character in order to
  42.     have physical line feeds in a file without breaking the logical line.
  43.     This means that a logical line can extend to several lines of text.
  44.     The continuation characted is a backslash "\".
  45.     
  46.     Example:
  47.         @Format(@FileName @FileSize(#######) \
  48.         @FileDate(DD.MM.YYF) \
  49.         @Adjust("@AreaName",l,15,t) @Adjust("@FilePath",l,32,t))
  50.  
  51.     The whole block above is displayed in one line later on.
  52.     The \ character, as well as any following blank or CR/LF is removed.
  53.     At the end of the whole string ONE CR/LF is added, nevertheless how
  54.     many of them occur in the text.
  55.     
  56.     If you want to use the \ itself, you have to quote it by writing two
  57.     backslashes (\\). This will translate to one backslash in display.
  58.     "Backslash \\ in text" thus translates to "Backshlash \ in text".
  59.  
  60.     It is possible to use MECCA color tokens in the BBS header templates.
  61.     They are translated by MaxList.
  62.     The following MECCA tokens are available:
  63.     
  64.       [cls]   - clear screen
  65.  
  66.     Colors:
  67.       Foreground and Background       Foreground only
  68.       -------------------------       ---------------
  69.       [black]                         [darkgray]
  70.       [blue]                          [lightblue]
  71.       [green]                         [lightgreen]
  72.       [cyan]                          [lightcyan]
  73.       [red]                           [lightred]
  74.       [magenta]                       [lightmagenta]
  75.       [brown]                         [yellow]
  76.       [gray]                          [white]
  77.  
  78.     In order to set foreground and background color simultaneously you MUST
  79.     use the token ON, e.g. [white ON blue].
  80.  
  81.     The CLS token may be grouped together with color tokens, e.g.
  82.     [CLS red on blue]. 
  83.     If you need the bracket ([) as normal character in the text, you have to
  84.     double it ([[), e.g. [CLS WHITE][[White] [[[YELLOW]Yellow[WHITE]].
  85.  
  86.     MaxList automatically adds the MECCA token [left cr lf] at the end of
  87.     each line in the BBS header. By this sequence of characters MaxList
  88.     recognizes the header and so is able to remove it again.
  89.  
  90.     No extensive syntax check is done by MaxList. So the result may be 
  91.     unpredictable if you miswrote some tokens or made errors when setting
  92.     the brackets.
  93.  
  94.     Therefore note once again:
  95.  
  96.         SET THE DEBUG MODE OF MAXLIST FOR YOUR FIRST TRIES !!!!
  97.  
  98.     This is the only possibility to avoid changes to FILES.BBS files.
  99.     MaxList will then place it's output in a file named FILES.$$$ instead 
  100.     of changing the original FILES.BBS.
  101.  
  102.  
  103.  
  104.                               The Templates
  105.                              ───────────────
  106.  
  107.     The following section lists all templates, their function and their valid
  108.     place.
  109.  
  110.     Five types of templates are available: BBS, AREA, GROUP, REPORT and TITLE.
  111.     The types AREA, GROUP and REPORT each seperate into HEADER and FOOTER, so
  112.     that eight templates are available in total.
  113.  
  114.     The template types HEADER of BBS, AREA and GROUP each contain a statement
  115.     how the single file description lines should look like.
  116.  
  117.     This statement reads @FORMAT(@ID @ID ... @ID) and it MUST be the last
  118.     statement in this template.
  119.     If you do not want to have a header you have to write this statement
  120.     (only this statement) in either case!
  121.  
  122.     The arguments (@ID) have to consist of the single tokens for file name,
  123.     file size, date, description etc.
  124.     The possible arguments depend on the kind of template. Unresolvable 
  125.     tokens are removed. If they are written within an @ADJUST statement, an
  126.     empty string is used instead then!
  127.     
  128.  
  129.  
  130.     The BBSHEADER Template
  131.     ──────────────────────
  132.     You may specify a special header for the FILES.BBS files for each area 
  133.     or group. But take into consideration that ALL templates must permanently
  134.     remain in main memory. So things are limited under DOS. 
  135.  
  136.     At least one BBSHEADER should be specified. Otherwise MaxList will use 
  137.     an internal one which may not be altered.
  138.     The internal BBSHEADER has the following format:
  139.     
  140.         @Format(@FileName FileDesc(31, 79))
  141.  
  142.  
  143.     IMPORTANT NOTE FOR MAXIMUS 3.0 USERS!
  144.     ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ 
  145.  
  146.     MaxList supports a special kind of FILES.BBS format which contains both
  147.     file size and file date in addition to the normal entries.
  148.  
  149.     This special format is defined by a 
  150.         TYPE  DATELIST
  151.     statement in the area definition block in Maximus 3.0.
  152.  
  153.     In this special case a template is needed where the @FORMAT statement
  154.     looks like this:
  155.  
  156.         @Format(@FileName \
  157.         @FileSize(#######_f)@FileDate(MM-DD-YY__)\
  158.         @FreeDwnLd@DlCounter@FileDesc(31,79))
  159.  
  160.     You may change the border size at @FILEDESC to your need. Furthermore
  161.     @FREEDWNLD and @DLCOUNTER may be left out, if you do not need them.
  162.     The most simple @FORMAT statement should then look like this:
  163.  
  164.         @Format(@FileName \
  165.         @FileSize(#######_f)@FileDate(MM-DD_YY__)@FileDesc(31,79))
  166.  
  167.     NOTE:
  168.         You may also use this @FORMAT statement for areas which are not of
  169.         TYPE DATELIST. In this case MaxList will NOT print any file size or
  170.         date in the FILES.BBS files. This way it is possible to have ONE
  171.         template for ALL areas! This template is located in the archive as
  172.         BBSHDR3.TPL.
  173.  
  174.  
  175.     The LISTTITLE Template
  176.     ──────────────────────
  177.     Optional you may use a title template. So it is possible to insert e.g.
  178.     the list type immediately after your logo (ListHeaderFile) into the list.
  179.     I use a graphical font for this title which places the listname centered.
  180.     Furthermore the date, time and day as well as the new files flags are 
  181.     inserted here if the corresponding tokens are given. For an example see
  182.     the file TITLE.TPL
  183.  
  184.  
  185.     The AREA Templates (AreaHeader / AreaFooter)
  186.     ────────────────────────────────────────────
  187.     You may specify two templates for each area: AreaHeader and AreaFooter.
  188.     The footer is optional. A @FORMAT statement MUST be present in the
  189.     header.
  190.  
  191.     The header is printed at the beginning of each area. It is followed by
  192.     the single file description entries. At the end of each area a footer
  193.     may be printed OPTIONALLY.
  194.  
  195.     When the DUPE list is generated, the AreaHeader and the @FORMAT statements
  196.     contained herein are used to list the dupe files. For an example see the
  197.     template file DUPEHDR.TPL.
  198.  
  199.  
  200.     The GROUP Templates (GroupHeader / GroupFooter)
  201.     ───────────────────────────────────────────────
  202.     These two templates are required by the report part of a list.
  203.     The GroupHeader must contain a @FORMAT statement, the GroupFooter is
  204.     optional.
  205.  
  206.     The GroupHeader is printed before any area of this group, followed by
  207.     all area entries for that group.
  208.  
  209.  
  210.     The REPORT Templates (ReportHeader / ReportFooter)
  211.     ──────────────────────────────────────────────────
  212.     
  213.     These two templates are optional.
  214.     ReportHeader is written to the beginning of the statistics of a list,
  215.     ReportFooter at the end, immediately before my copyright notice.
  216.     In the report templates no @FORMAT statement is required.
  217.  
  218.  
  219.  
  220.     Schematic Structure of a File List
  221.     ──────────────────────────────────
  222.  
  223.         ┌───────────────────────────────────┐
  224.         │ FileListHeader (Optional)         │
  225.         │ ...                               │   
  226.         ├───────────────────────────────────┤
  227.         │ ListTitle      (Optional)         │
  228.         │ Date, time, name, flags           │
  229.         ╞═══════════════════════════════════╡ ──┐ 
  230.         │ AreaHeader with @Format statement │   │
  231.         ├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┤   │
  232.         │ File  Description                 │   │
  233.         │   ...                             │   │
  234.         │ File  Description                 │   ├── Omitted at report lists.
  235.         ├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┤   │   Dupe lists will contain
  236.         │ AreaFooter     (Optional)         │   │   only one AreaHeader.
  237.         ├───────────────────────────────────┤   │
  238.         │ ... additional Areas              │   │
  239.         ╞═══════════════════════════════════╡ ══╡  
  240.         │ ReportHeader   (Optional)         │   │
  241.         ├───────────────────────────────────┤   │
  242.         │ GroupHeader with @Format statement│   │
  243.         ├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┤   │
  244.         │ Areas of this Group               │   │
  245.         │   ...                             │   ├── Only when AllAreaReport
  246.         │ Areas of this Group               │   │   set to YES.
  247.         ├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┤   │   Always at report lists.
  248.         │ GroupFooter    (Optional)         │   │
  249.         ├───────────────────────────────────┤   │
  250.         │ ... additional Groups             │   │
  251.         ├───────────────────────────────────┤   │
  252.         │ ReportFooter   (Optional)         │   │
  253.         ╞═══════════════════════════════════╡ ──┘
  254.         │ FileListFooter (Optional)         │
  255.         │ ...                               │   
  256.         ├───────────────────────────────────┤
  257.         │        Copyright Logo             │
  258.         └───────────────────────────────────┘
  259.  
  260.  
  261.  
  262.     Example of a new files list with title, AreaHeader, GroupHeader and
  263.     ───────────────────────────────────────────────────────────────────
  264.     ReportHeader:
  265.     ─────────────
  266.  
  267.  
  268.                  █▄  █ █▀▀▀▀ █   █ █▀▀▀▀ ▀█▀ █     █▀▀▀▀ ▄▀▀▀▀                 
  269.         ▀▀▀▀▀    █ ▀▄█ █▀▀▀  █▄▀▄█ █▀▀▀   █  █     █▀▀▀   ▀▀▀▄    ▀▀▀▀▀        
  270.                  ▀   ▀ ▀▀▀▀▀ ▀   ▀ ▀     ▀▀▀ ▀▀▀▀▀ ▀▀▀▀▀ ▀▀▀▀                  
  271.      This list was created at 22:50 on Monday, 18.Dec 95 by MAXLIST+ v2.14
  272.  
  273.                       All files are less than 30 days old.                     
  274.  
  275. ═══════════════════════════════════════════════════════════════════════════════
  276.  ▄▀▀▀▄ ║ Local Echo
  277.   ▄▀▀  ║ Available: 3 files (236.918 Bytes)
  278.  ▀▀▀▀▀ ║ Newest: FRO_PWAD.ZIP  (03.09.1995, 79084 Bytes)
  279. ───────────────────────────────────────────────────────────────────────────────
  280. Filename        Size    Date   Description
  281. ──────────── ─────── ───────── ────────────────────────────────────────────────
  282. CTFILES.ZIP    24944 01.09.95  Alle neuen C't Files
  283. FRO_PWAD.ZIP   79084 03.09.95  Frodo PWAD for DOOM2 and Heretic
  284.                                DOOM2 level 1, 2, and 3
  285.                                Heretic e1m1, m2, and m3
  286. GERFAQ4A.ZIP  132890 29.08.95  FAQ zu OS/2 Warp 3, deutschsprachige
  287.                                Ausgabe 3a v. 03.03.95, TXT und INF.
  288.  
  289. ╒═════════╤═════════════════════════════════════════════════════════╤═════════╕
  290. │░▒▓███▓▒░│                     NEWFILES SUMMARY                    │░▒▓███▓▒░│
  291. │░▒▓███▓▒░├─────────────────────────────────────────────────────────┤░▒▓███▓▒░│
  292. │░▒▓███▓▒░│        72 files (5.553 Kb) in 24 Areas (6 Groups)       │░▒▓███▓▒░│
  293. ╘═════════╧═════════════════════════════════════════════════════════╧═════════╛
  294.  
  295. Group: GFD.APP - Gfd-Net Applicationen                                         
  296. Available: 9 files (694 Kb) in 3 areas                                         
  297. ═══════════════════════════════════════════════════════════════════════════════
  298. Area              Description                                  Files      Bytes
  299. ───────────────── ─────────────────────────────────────────── ────── ──────────
  300. GFD.APP.ARC       Archiver                                         3       231K
  301. GFD.APP.BACK      Backup Tools                                     3       231K
  302. GFD.APP.EDIT      Editoren                                         3       231K
  303.  
  304. Group: GFD.FNT - Gfd-Net Mailbox Programm                                      
  305. Available: 18 files (1.388 Kb) in 6 areas                                      
  306. ═══════════════════════════════════════════════════════════════════════════════
  307. Area              Description                                  Files      Bytes
  308. ───────────────── ─────────────────────────────────────────── ────── ──────────
  309. GFD.FNT.BBS       BBS Programme                                    3       231K
  310. GFD.FNT.DOOR      Door Programme                                   3       231K
  311. GFD.FNT.MISC      Diverse Tools                                    3       231K
  312. GFD.FNT.PNT       Pointprogramme                                   3       231K
  313. GFD.FNT.TOSS      Tosser                                           3       231K
  314.  
  315. Available: 3 files (231 Kb) in 1 area                                     
  316. ═══════════════════════════════════════════════════════════════════════════════
  317. Area              Description                                  Files      Bytes
  318. ───────────────── ─────────────────────────────────────────── ────── ──────────
  319. 2                 Lokales Echo                                     3       231K
  320.  
  321.    ╒═══════════════════════════════════════════════════════════════════════╕
  322.    │         This list was produced by MAXLIST+ (Version 2.14∙OS2)         │
  323.    │   Copyright 1994/95 by Wilfried Brinkmann, 45529 Hattingen, Germany   │
  324.    ╘═══════════════════════════════════════════════════════════════════════╛
  325.                        Registered to: Wilfried Brinkmann                       
  326.  
  327.  
  328.  
  329.                         The Template Tokens
  330.                        ─────────────────────
  331.  
  332.     The following section describes all tokens available in the templates.
  333.     For each token the valid template types or valid sections in an 
  334.     template are explained.
  335.  
  336.     Sometimes the same tokens will have a different result. This occurs
  337.     especially at sums (e.g. @FILES token).
  338.  
  339.     EVERY token starts with a "@" (the german word for this character is 
  340.     Klammeraffe, which would translate to "bracket monkey" in english, 
  341.     but this surely is not the right translation. Sorry, the translator ;)
  342.     If a token has parameters, these have to be put in paranthesis "( )".
  343.     The single parameters within the paranthesis are seperated by a comma ",".
  344.     
  345.     There is no difference in upper/lower case writing. The tokens may be
  346.     stacked into each other as you like, i.e. further tokens may be used as
  347.     parameters of one token.
  348.  
  349.         Example:  @Adjust(@Adjust(@Adjust("Test1",l,5),l,10),r,20)
  350.  
  351.     Optional parameters are diplayed in [brackets]. The brackets themselves
  352.     of course have NOT be given in a template.
  353.     When several parameters are allowed but not all of them are needed, the
  354.     unused part may be omitted. Nevertheless you have to give the commas then.
  355.  
  356.         Example:  @FileDesc(31,79,,TF)
  357.  
  358.  
  359.  
  360.     @FORMAT
  361.     ───────
  362.     Syntax: @Format(@ID @ID .... @ID)
  363.  
  364.     This statement is used, as mentioned above, for the format of one single
  365.     file description in a FILES.BBS or list. 
  366.  
  367.     It MUST be present in the following templates: 
  368.  
  369.         BBSHeader       - For Files.bbs
  370.         AreaHeader      - For file lists
  371.         GroupHeader     - For report lists
  372.  
  373.     In all other templates this statement is superfluous. When MaxList finds
  374.     it never the less, it will be ignored.
  375.  
  376.     Example of a @FORMAT statement:
  377.         @Format(@FileName @FreeDwnLd@DlCounter@Filedesc(31,79))
  378.  
  379.     After processing the resulting FILES.BBS will look like this:
  380.  
  381.     NWFAQ503.ARJ /bt [00] Novell FAQ Version 03/95  ASCII-Version
  382.                                    deutschsprachige FAQ ueber alles, was
  383.                                    mit Novell zu tun hat.
  384.                                    inkl. aktueller File- und Mailboxliste
  385.  
  386.  
  387.     @LISTTYP
  388.     ────────
  389.     Syntax:     @ListTyp
  390.     Templates:  All except BBS and @FORMAT statement
  391.  
  392.     This token prints the list type.
  393.     Available list types:
  394.         ALL        [Name]   - [Name] or ALLFILES
  395.         NEW <days> [Name]   - [Name] or NEWFILES
  396.         PART       [Name]   - [Name] (when given)
  397.         REPORT     [Name]   - [Name] or REPORT
  398.         DUPE       [Name]   - [Name] or DUPES
  399.         ORHAN      [Name]   - [Name] or ORPHAN
  400.  
  401.     !!! IMPORTANT NOTE:
  402.         When @ListTyp is used within @TEST, not the Name of the list,
  403.         but the name of the type will be used for comparision.
  404.  
  405.         @Test(@ListTyp,=,All, ...) is TRUE, if the list is of type ALL.
  406.  
  407.  
  408.     @TEST
  409.     ─────
  410.     Syntax:     @Test(@ID1, <|=|>|<>|[], @ID2, @IDTrue, @IDFalse)
  411.     Templates:  All 
  412.  
  413.     For testing of parameters. @ID1 is compared to @ID2.
  414.     Valid operators are:
  415.       <     - less than
  416.       =     - equal to
  417.       >     - greater than
  418.       <>    - not equal
  419.       []    - in range
  420.  
  421.     Dependent on the result @IDTrue or @IDFalse is processed.
  422.  
  423.     Examples:  @Test(@Groups,>,1,(@Groups Groups),"")
  424.                The sum of groups is only printed when it is greater than 1.
  425.  
  426.                @Test(@AreaTag,[],12..99,"Top Secret",@AreaTag)
  427.                If the Areatag in 12 to 99, than "Top Secret" is printig,
  428.                otherwise the Areatag is written.
  429.  
  430.  
  431.     @FILEPATH
  432.     ─────────
  433.     Syntax:     @FilePath
  434.     Templates:  All except TitleTemplate and BBS
  435.  
  436.     Drive and Path(s) as given in DownLoad, e.g. D:\LISTS\SHUTTLE\.
  437.     If the FILES.BBS contains a path name in the file name, this value is
  438.     taken.
  439.  
  440.  
  441.     @FILENAME
  442.     ─────────
  443.     Syntax:     @FileName
  444.     Templates:  In all @FORMAT statements
  445.  
  446.     Prints the Name of a file leftbound with a length of 12 characters.
  447.     When the name is shorter than 12 characters it is filled with blanks,
  448.     e.g.: "ABC.ZIP_____"
  449.  
  450.     Any path in the FILES.BBS is NOT printed in the lists, but remains in
  451.     the FILES.BBS.
  452.  
  453.  
  454.     @FILEDATE
  455.     ─────────
  456.     Syntax:     @FileDate(DateFormat)
  457.     Templates:  In all @FORMAT statements
  458.  
  459.     You may format the date as you like. The parameter DateFormat may NOT be
  460.     omitted. The following placeholders may be specified:
  461.  
  462.         D   - Day     01 .. 31
  463.         M   - Month   01 .. 12, or name of month (Jan, Feb etc)
  464.         Y   - Year
  465.         F   - Flag for new file
  466.               If a file is older than specified for any flag, a blank will
  467.               be printed.
  468.         _   - Underscore, replaced by one blank
  469.  
  470.     Examples:
  471.  
  472.         DateFormat:       Result:
  473.         -----------       ---------
  474.         DD.MM.YY        - 20.09.95
  475.         MM.YYYY         - 09.1995
  476.         DD-MM-YYF       - 20-09-95+
  477.         D.M.YF          - 20.09.95+
  478.         DD.MMM_YYYY     - 20.Sep 1995
  479.         D.M.YYY         - 20.09.1995
  480.         DD-MM-YYF_      - 20-09-95+_  (_ is a Blank)
  481.  
  482.  
  483.     @FILESIZE
  484.     ─────────
  485.     Syntax:     @FileSize(SizeFormat)
  486.     Templates:  In all @FORMAT statements
  487.  
  488.     Size of a file. The number may be formatted and converted to other size
  489.     units (Kb Mb etc.) as you like. Internally it is counted in bytes and
  490.     may be converted to kilobytes (div 1024) and megabytes (div 1048576).
  491.  
  492.     NOTE:
  493.         NO conversion is allowed in the BBS templates for TYPE DATELIST.
  494.         The format for this template MUST look like this:
  495.         @FileSize(#######_F)
  496.  
  497.     Formatting character:
  498.         #   - replaced by a number
  499.         K   - conversion to kilobytes
  500.         M   - conversion to megabytes
  501.         F   - fill with blanks
  502.         _   - Underscore, replaced by one blank
  503.  
  504.         ATTENTION: The chars K, M, F NEED to be placed at the end!
  505.  
  506.     Examples:
  507.  
  508.         SizeFormat:                         Result:
  509.         ----------------------------        ----------
  510.         None (Empty paranthesis)            123456789
  511.         One or more #                       123456789
  512.         #.###.###                           12.346.789
  513.         K (conversion kilobytes)            120563
  514.         #.###.###K                          120.563
  515.         M (conversion megabytes)            117
  516.         #.###.###M                          117
  517.         #.###F                              123456.789
  518.         #######MF                           ____117  (_ represents one blank)
  519.         #.###_M                             117_     (_ represents one blank)
  520.  
  521.  
  522.     @FREEDWNLD
  523.     ──────────
  524.     Syntax:     @FreeDwnLd
  525.     Templates:  Only in @FORMAT statement in BBS templates
  526.  
  527.     Prints the corresponding string (when defined in the configuration file
  528.     at FreeDownLoad) and an additional blank. When FreeDownLoad is not
  529.     valid for this area or group, then nothing is printed.
  530.     Possible results are "/b ", "/t " or "/tb ".
  531.  
  532.  
  533.     @DLCOUNTER
  534.     ──────────
  535.     Syntax:     @DLCounter
  536.     Templates:  Only in @FORMAT statement in BBS and AREA templates
  537.  
  538.     When a download counter (DLCounter) is specified in the configuration,
  539.     it will be printed when none is already present in the FILES.BBS.
  540.     If a download counter is already present in the FILES.BBS it will be used
  541.     and remains unchanged.
  542.  
  543.     When a DLCounter is specified in the configuration, but this token is
  544.     NOT used in the BBS or AREA template, any existing download counter 
  545.     where the brackets match those of DLCounter is removed without grace!
  546.  
  547.     If no DLCounter is specified in the configuration, this token will be
  548.     ignored. 
  549.     
  550.     NOTE: An additional blank is added, when a download counter is printed!
  551.  
  552.  
  553.     @AREANAME
  554.     ─────────
  555.     Syntax:     @AreaName
  556.     Templates:  All except TitleTemplate
  557.  
  558.     Prints the WHOLE name of an area, including FileDivisions.
  559.     If an area EDIT is located in group GFD.APP, the result will be
  560.     "GFD.APP.EDIT".
  561.  
  562.  
  563.     @AREATAG
  564.     ────────
  565.     Syntax:     @AreaTag
  566.     Templates:  All except TitleTemplate
  567.  
  568.     Prints the name of an area without FileDivisions. For area EDIT the
  569.     result is "EDIT".
  570.  
  571.  
  572.     @GROUPTAG
  573.     ─────────
  574.     Syntax:     @GroupTag
  575.     Templates:  All except TitleTemplate
  576.  
  577.     Prints the name of the group, e.g. "GFD.APP".
  578.     The area name is not printed.
  579.  
  580.  
  581.     @AREADESC / @GROUPDESC
  582.     ──────────────────────
  583.     Syntax:     @AreaDesc / @GroupDesc
  584.     Templates:  All except TitleTemplate
  585.  
  586.     Prints the description for an area or a group. The length of
  587.     this description is limited internally to 50 characters.
  588.  
  589.  
  590.     @AREAACS / @GROUPACS
  591.     ────────────────────
  592.     Syntax:     @AreaAcs / @GroupAcs
  593.     Templates:  All except TitleTemplate
  594.  
  595.     Prints AccessLevel and Keys of an area or group.
  596.     If you defined a translation in the configuration (USERLEVEL) the
  597.     string defined there is printed. Otherwise the level/keys are printed
  598.     as defined at the corresponding area or group.
  599.     The length of the access string is limited internally to 50 characters.
  600.     
  601.  
  602.     @OFFLINE
  603.     ────────
  604.     Syntax:     @OffLine
  605.     Templates:  Only in @FORMAT statement of AREA templates
  606.  
  607.     All "normal" file list processors print an offline string instead of
  608.     file size and date if the file is not present in the file base.
  609.  
  610.     As MaxList allows the parameters to be put on any place, another method
  611.     is neccessary for inserting the offline string defined in the 
  612.     configuration.
  613.  
  614.     If an offline string should be printed, you have to define it by using
  615.     the @Test token. Example:
  616.  
  617.         @Format(@FileName \
  618.         @Test(@FileSize(),>,0,\
  619.         @FileSize(#######F) @FileDate(DD.MM.YYF),\
  620.         @Adjust("@OffLine",l,17)) @Filedesc(31,79))
  621.  
  622.     MaxList sets the file size to 0 when a file is not accessible. This means
  623.     that a 0 byte file is regarded as not present either!
  624.     The above code tests the file size to be greater than 0, if that is true,
  625.     @FileSize(#######F) @FileDate(DD.MM.YYF) is printed after the file name.
  626.     When the file size is 0, @Adjust("@OffLine",l,17) is used instead.
  627.  
  628.  
  629.     @NEWFNAME
  630.     ─────────
  631.     Syntax:     @NewFName
  632.     Templates:  AREA and BBS templates, but not in @FORMAT statement
  633.  
  634.     Name of the NEWEST file in this area.
  635.     The name is not formatted in any way. It will be printed as found in
  636.     the FILES.BBS file.
  637.  
  638.  
  639.     @NEWFDATE
  640.     ─────────
  641.     Syntax:     @NewFDate(DateFormat)
  642.     Templates:  AREA and BBS templates, but not in @FORMAT statement
  643.  
  644.     Date of the NEWEST file in this area.
  645.     The format of parameter DateFormat is the same as described at @FILEDATE.
  646.  
  647.  
  648.     @NEWFSIZE
  649.     ─────────
  650.     Syntax:     @NewFSize(SizeFormat)
  651.     Templates:  AREA and BBS templates, but not in @FORMAT statement
  652.  
  653.     Size of the NEWEST file in this area.
  654.     The format of parameter SizeFormat is the same as described at @FILESIZE.
  655.  
  656.  
  657.     @FILES
  658.     ──────
  659.     Syntax:     @Files
  660.     Templates:  All except in @FORMAT statement
  661.  
  662.     Prints the unformatted sum of files. It depends on the template: 
  663.  
  664.         AREA / BBS  -   sum of all files in this area
  665.         GROUP       -   sum of all files in this group
  666.         REPORT      -   sum of all files in this list
  667.  
  668.  
  669.     @BYTES
  670.     ──────
  671.     Syntax:     @Bytes(SizeFormat)
  672.     Templates:  All except in @FORMAT statement
  673.  
  674.     Returns the sum of bytes.
  675.     The format of parameter SizeFormat is the same as described at @FILESIZE.
  676.     The output depends on the template:
  677.  
  678.         AREA / BBS  -   sum of the bytes of all files in this area
  679.         GROUP       -   sum of the bytes of all files in this group
  680.         REPORT      -   sum of the bytes of all files in this list
  681.  
  682.  
  683.     @AREAS
  684.     ──────
  685.     Syntax:     @Areas
  686.     Templates:  Only in GROUP and REPORT
  687.  
  688.     Returns the sum of areas. The output depends on the template:
  689.  
  690.         GROUP       -   sum of all areas in this group
  691.         REPORT      -   sum of all areas in this list
  692.  
  693.  
  694.     @GROUPS
  695.     ───────
  696.     Syntax:     @Groups
  697.     Templates:  Only in REPORT
  698.  
  699.     Returns the sum of all groups in the list.
  700.     If you do not use FileDivisions, the sum of groups is 1.
  701.     (MainGroup = group without FileDivisions).
  702.     This group has neither a tag, ACS or description!
  703.  
  704.  
  705.     @PROGNAME
  706.     ─────────
  707.     Syntax:     @PrgName
  708.     Templates:  Only in title templates
  709.  
  710.     Hmm. What could this one be? This token is replaced by the string
  711.     'MAXLIST+ v#.##'. I hope you will ALWAYS use this token ;-)
  712.     The '+' sign occurs only at registered versions of MaxList, v#.## 
  713.     represents the version number of MaxList.
  714.  
  715.  
  716.     @DATE
  717.     ─────
  718.     Syntax:     @Date(DateFormat)
  719.     Templates:  Only in title templates
  720.  
  721.     Returns the actual date.
  722.     The format of parameter DateFormat is the same as described at @FILEDATE.
  723.  
  724.  
  725.     @TIME
  726.     ─────
  727.     Syntax:     @Time(TimeFormat)
  728.     Templates:  Only in title templates
  729.  
  730.     Returns the actual time.
  731.     Parameter TimeFormat is a formatting string (analog to @FILEDATE) 
  732.     that may consist of the following characters:
  733.  
  734.         H   - hour     00 .. 23
  735.         M   - minute   00 .. 59
  736.         S   - second   00 .. 59
  737.         _   - underscore, is replaced by a blank
  738.  
  739.     Examples:
  740.  
  741.         HH:MM:SS        - 22.17.05
  742.         H:M             - 22:17
  743.         HH:MM.SS_       - 22:17.05_  (_ is one blank)
  744.  
  745.  
  746.     @DAY
  747.     ────
  748.     Syntax:     @Day
  749.     Templates:  Only in title templates
  750.  
  751.     Returns the name of the day as defined in the configuration of MaxList.
  752.     If no translation is defined in the configuration the english names for
  753.     the days are used.
  754.  
  755.  
  756.     @NEWFDAYS
  757.     ─────────
  758.     Syntax:     @NewFDays
  759.     Templates:  Only in title templates
  760.  
  761.     This token is replaced by <days> in the new files lists.
  762.     Examples for its usage may be found in the template TITLE.TPL
  763.  
  764.  
  765.     @FLAGS
  766.     ──────
  767.     Syntax:     @Flags(FlagFormat)
  768.     Templates:  Only in title templates
  769.  
  770.     @Flags prints ALL new file flags as defined at FLAGCHAR in the 
  771.     configuration. They are each seperated by a comma.
  772.     
  773.     The parameter FlagFormat defines how to format the data:
  774.  
  775.         $   - print the flag character
  776.         #   - print the number of days
  777.         _   - print one blank
  778.     
  779.     Example:
  780.       If you have specified 
  781.             
  782.             FlagChar            7,!  14,*  30,+
  783.  
  784.       in the configuration of MaxList
  785.       and in the template 
  786.             
  787.             @Flags($_=_#_days)
  788.  
  789.       then MaxList will print the following:
  790.       
  791.             ! = 7 days, * = 14 days, + = 30 days.
  792.  
  793.  
  794.     @FONTSTR
  795.     ─────────
  796.     Syntax:     @FontStr(FontName, @ID), @FontStr(FontName)
  797.     Templates:  All except in @FORMAT statement
  798.  
  799.     Prints any desired text in a graphical font.
  800.     Parameters: FontName - name of the font as defined in the font (use
  801.                            FNTMAKE(p).EXE to create your own ones or alter
  802.                            the name of a font)
  803.                 @ID      - the text to be printed.
  804.     Previously you must have loaded a font in the configuration file
  805.     (statement LoadFont). 
  806.     When NO font is loaded, NOTHING will be printed!
  807.  
  808.     There are some special things to respect:
  809.  
  810.         One character in a graphical font has several lines, which must
  811.         exactly at the same position in consecutive lines.
  812.         As every output may be formatted using @ADJUST, you have to specify
  813.         one @FONTSTR token for EVERY line of the font!
  814.  
  815.         If you use a font having 3 lines in height, a @FONTSTR token has to
  816.         be placed at each column and row position. 
  817.         FontName has to be given for EVERY occurance of @FontStr, while
  818.         parameter @ID is only valid for the FIRST occurance!
  819.  
  820.         Example:
  821.             @Adjust("@FontStr(Digi3x5, -'@ListTyp'-)",c,79)@CrLf\
  822.             @Adjust("@FontStr(Digi3x5)",c,79)@CrLf\
  823.             @Adjust("@FontStr(Digi3x5)",c,79)
  824.  
  825.  
  826.     You may create your own fonts using a utility that comes with MaxList.
  827.     Five fonts are added to the MaxList archive (FONTS.ZIP).
  828.  
  829.  
  830.     @CRLF
  831.     ─────
  832.     Syntax:     @CrLf
  833.     Templates:  All
  834.  
  835.     Use this to add additional line feeds in a template.
  836.  
  837.  
  838.     @ADJUST
  839.     ───────
  840.     Syntax:     @Adjust("@ID", L|C|R, Len [, T]);
  841.     Templates:  All
  842.  
  843.     Formats a string left bound, centered or right bound and fills or cuts
  844.     to a given length.
  845.     @ID may contain any token except @FILEDESC.
  846.     @ID MUST always be enclosed in quotation marks. 
  847.  
  848.     Example:       
  849.         @Adjust("  This is a test",L,20)  will print |  This is a test  |
  850.         (the | is not printed, of course)
  851.  
  852.     Text may be adjusted left-bound ("L"), centered ("C") or right-bound 
  853.     ("R"). The string is padded with blanks to become "Len" in length (of
  854.     course only when the string is shorter than "Len").
  855.  
  856.     If the optional parameter "T" (for truncate) is given, the string will 
  857.     be truncated to the length "Len" in any case.
  858.  
  859.  
  860.     @FILEDESC
  861.     ─────────
  862.     Syntax:     @FileDesc(Left, Right [,Lines [, T|TF [, PreLine]]])
  863.     Templates:  Only in @FORMAT statement
  864.  
  865.     Formats and prints the description for a single file.
  866.  
  867.     Parameters:
  868.         Left        - left border of the continued description (i.e. line 2 
  869.                       and above). Any value in the range of 1 to 65535 is
  870.                       valid, but it must be less than the right border.
  871.  
  872.         Right       - right border of the description.
  873.                       Any value in the range of 1 to 65535 is valid, but it
  874.                       must be greater than the left border.
  875.  
  876.         Lines       - Optional. If given, the number of lines for one 
  877.                       description is limited to "Lines" lines.
  878.                       Valuable for pages and pages of FILE_ID.DIZ.
  879.                       If the value is set to 0, the number of lines is
  880.                       unlimited (default).
  881.                       Otherwise any value in the range of 1 to 65535 is valid.
  882.  
  883.         T or TF     - Optional. T means Truncate, TF means TruncateFirst.
  884.                       Normally the description is completely new maked up
  885.                       when not fitting in the borders (left - right).
  886.                       When "T"runcate is specified, no make up is performed
  887.                       but the too long lines are truncated at the right border.
  888.  
  889.                       "TF" is a important feature for people using a download 
  890.                       counter ;-) 
  891.                       When "TF" is specified, MaxList will only truncate the
  892.                       FIRST line when it exceeds the right border. If MaxList
  893.                       then recognizes in further processing that the desc needs
  894.                       to be maked up again, the truncated part is re-inserted
  895.                       again before the rest of the text is formatted.
  896.  
  897.         PreLine     - Optional. With this, you can create a list as a
  898.                       Table. The string in PreLine is placed at the begin of
  899.                       each line, was normaly holds (number of left) blanks.
  900.                       Alternate you can use PreLine, to add a "+" before
  901.                       each continous line. PreLine itself can contains a @ID
  902.                       (i.e. @Adjust).
  903.  
  904.                       Example:
  905.                         @FileDesc(31,79,,,@Adjust("+ ",l,31))
  906.  
  907.                       The product of this is following:
  908.                         TEST.ZIP         12K 01.01.80  Eine Testdatei
  909.                                                      + mit Erweiterter                                
  910.                                                      + Beschreibung und
  911.                                                      + einem Pluszeichen
  912.  
  913.                       Other (complexe) Example:
  914.                         @Format(@FileName│@FileSize(#######)│\
  915.                                 @FileDate(dd.mm.yyf)│\
  916.                                 @FileDesc(31,79,,,@Adjust("│",l,13)\
  917.                                 @Adjust("│",l,8)@Adjust("│",l,10)))
  918.  
  919.                       This will printout following:
  920.                         TEST1.ZIP   │  12351│01.01.80 │Eine Testdatei
  921.                                     │       │         │in Tabellenform
  922.                                     │       │         │mit Linien.
  923.                         ANYFILE.ARJ │  12351│01.01.80 │Noch eine Datei
  924.                                     │       │         │in Tabellenform
  925.  
  926.  
  927. ═══════════════════════════════════════════════════════════════════════════════
  928.  
  929.                             A Last Note
  930.                             ═══════════
  931.  
  932.     Study the example templates included with MaxList. You find them in
  933.     archive TEMPLATE.ZIP.
  934.     Please unpack them to a particular subdirectory and use a "Define" 
  935.     in the MaxList configuration to specify the path.
  936.     
  937.     Above is also valid for the font files and the FontMaker utility.
  938.     All fonts and the FNTMAKE(p).EXE program are located in the
  939.     archive FONTS.ZIP.    
  940.  
  941.     If you have designed a new font or created a nice template file please
  942.     don't hesitate to send it to me. So other MaxList users will profit
  943.     from your work.
  944.  
  945.  
  946.     The author, Wilfried Brinkmann
  947.  
  948. ────────────────────────────────────────────────────────────────────────────
  949. Template.Doc for MaxList 2.14                            Date: December 1995
  950.  
  951.